"""author: wenyao
   data: 2021/12/10
   project: cjh
"""
#python的多态
#python里不支持多态， python处处是多态
class PAY():
    pass

class ZhiFuBao(PAY):
    def pay(self):
        print("this is zhifubao pay")
class weixin(PAY):
    def pay(self):
        print("this is weixin pay")
class wangyibao(PAY):
    def pay(self):
        print("this is wangyibao pay")

zhi = ZhiFuBao()
wei = weixin()
wang = wangyibao()

#接口  -- 不同形态
def pay(obj):
    obj.pay()

pay(wang)
pay(zhi)

####java
#其他静态语言它的多态一般是建立在继承的基础上的
#void message(String  a):

#void pay(PAY w):
#     w.pay()
#pay(zhi)

#python崇尚鸭子类型
#不关心对象是什么类型，到底是不是鸭子， 只关心行为。

#使用类实现迭代器，实现斐波拉契数列
#使用面向对象做一个ATM（存取款功能）
#ATM类
#  属性： 钱，区域
#  方法：（存取）
#      用户可以过来取钱
#      取了钱ATM的钱就会减少
#      用户的账户的钱也会减少
#用户类
#  属性：用户名，  密码， 账户金额
#要求：
#    菜单   有登陆验证
# def func1(a,b):
#     return a+b

#python中不支持多态  语法上的多态  不需要额外的实现多态的代码
#按照多态语法来说  不属于多态（父类作为参数，传递子类对象）

#python里处处是多态 ，本身就实现了多态